-- 基础设置
vim.g.mapleader = " "
vim.opt.rtp:prepend(vim.fn.stdpath("data") .. "/lazy/lazy.nvim")

-- 自动安装 lazy.nvim（兼容新旧版本）
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--branch=stable", 
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end

-- 标准化加载（自动处理新旧版路径）
local ok, lazy = pcall(require, "lazy")
if not ok then
  -- 备用加载逻辑（针对旧版目录结构）
  local core_path = lazypath .. "/lua/lazy/core.lua"
  if vim.loop.fs_stat(core_path) then
    package.loaded["lazy"] = loadfile(core_path)()
  else
    error("lazy.nvim core not found in:\n" .. lazypath)
  end
end

-- 插件配置（必须直接传递表，不能用字符串）
local plugins = require("plugins")
require("lazy").setup(plugins)

-- 后续配置
require("core.options")
require("core.autocmds")
--require("core.filetree")
require("core.colors").setup()
require("config.keymaps")


